[原創]從中間件廠商的角度看EJB3標準
摘要: 閱讀全文
2008-06-29 22:28 作者: david.turing【評論:1】【閱讀:3189】
主從分解而不是正交分解
摘要: 說到分解,很多人心中的意象大概只有正交分解。正交分解無疑是最重要的一種分析方法,它也是所謂“分而治之”思想最常見的實現策略。但是正交分解一般潛在的假定是分解后的子部分是大致均衡的,它們是相對具有獨立價值的,可以彼此脫離獨立發展。這是分解后實現系統解耦的重要原因。http://canonical.javaeye.com/blog/3388... 閱讀全文
2008-05-26 00:41 作者: canonical【評論:0】【閱讀:1740】
將Spring用于高并發環境的隱憂
摘要: Spring一個關于Lock Contention的Bug引起我對Spring代碼質量的憂慮 閱讀全文
2008-04-19 09:47 作者: david.turing【評論:21】【閱讀:11107】
java NIO: selector 機制分析
在學習IBM的那個NIO教程時發現,異步IO這部分的代碼居然有個嚴重問題。
即client突然中斷 tcp連接時。服務端會進入一個令人崩潰的無限循環。
后來發現其實是因為selector在tcp連接已經斷開時,還是能夠select()出OP_READ狀態的SocketChannel的SelectedKey。
這時需要通過Channel讀取數據到buffer的過程時的返回值來判斷。
這個反回值其實就是讀取的字節數。該數字為0時說明就是一般的沒有數據可讀取,而當為-1時其實表示底層tcp已經斷開了。(但IE的連接有點不同,read時直接給出Exception,反正這些情況都要判斷了.)
之后又想到,那如何注銷selector與SocketChannel之間的關聯呢?selector內部基本的運作是怎么樣的呢? javadoc中寫的是key.cancel()方法。socket的close()在windows似乎也有一樣的功能。
這里可以用兩張圖來表示。
2008-04-06 21:03 作者: wfeng007【評論:3】【閱讀:2977】
再讀“向依賴關系宣戰”后的一些質疑。。。
最早看到“向依賴關系宣戰”這篇文章是在《程序員》雜志上的。當時流行討論ioc di等概念,這篇文章一出,似乎已經將這些混亂的東西講清楚了。我就是從這篇文章開始理解IoC阿、DI的概念的。
現在看來這篇文章確實比較詳細,但是反復看的話似乎感覺比較羅嗦。而且通過這兩年的實踐過后,我發現其實這幾個概念在描述時還是有偏差的。
下面有些質疑之處:
1。 IoC與DI,馬丁同學提出的依賴注入。。這個名詞表面上怎么看都和控制反轉扯不上關系。但是他又說“。。。。應該叫DI”。結果所有人就把DI與IoC等同,甚至就把DI當作IoC的一個別名來用。。。
我到感覺DI與IoC是指同以概念的不同方面。DI強調的是“依賴的形成”即,框架或容器如何得到需要運行的“實現(implements)”的。而IoC本身概念是強調整體主控權與“庫”調用方式相反。即由框架或容器主導主控權。或者說依賴于控制權相反。
2。IoC與依賴倒置。
文中似乎沒有就兩者關系進行詳細說明。
個人感覺IoC其實就是以依賴倒置為基礎的。IoC是在特定環境中的DI特例,并且關注到了“實現”與“使用者”依賴關系產生的問題,(因為事實上調用時還是存在依賴關系的。)所以需要有“注冊”這個過程。但是IoC并沒有強調“注冊”。
2008-03-17 15:14 作者: wfeng007【評論:0】【閱讀:553】
如何理解嵌套事務(Nested Transaction)
摘要: 介紹nested transaction的概念 閱讀全文
2008-03-04 12:38 作者: david.turing【評論:4】【閱讀:10286】
WebMVC之前世.今生
摘要: 所謂WebMVC即Model2模型是目前Web開發領域的主流模型,Struts/Struts2框架是其典型實現。在概念層面上,這種程序組織模型是怎樣建立起來的?與其他Web開發模型(如面向對象模型)具有怎樣的聯系? 它未來可能的發展方向在哪里? 結合Witrix開發平臺的具體實踐,基于級列設計理論我們可以看到一條概念發展的脈絡。http://canonical.javae... 閱讀全文
2008-02-18 22:02 作者: canonical【評論:0】【閱讀:1819】
(轉)什么才是軟件開發的葵花寶典?
摘要: 中國人大都喜歡用武俠小說來比較軟件開發,但是在實戰武功中,只有葵花寶典才是最厲害的,也只有掌握了葵花寶典,才能稱為"不敗"。 但什么才是軟件開發的葵花寶典? 讓我們先從一些現象出發。我們的前提是,軟件開發是一項智力密集型勞動。對于智力密集型勞動,我們觀察到的現象是,個體的表現差異很大,團隊的表現差異很大,組織的表現差異很大,國家的表現差異很大。這不象體力占主要的勞動,象百米王跑百米... 閱讀全文
2008-02-03 14:46 作者: 冷面閻羅【評論:11】【閱讀:2650】
Oracle收購BEA——如何看待J2EE中間件的價值
摘要: Oracle終于收購了BEA了http://www.oracle.com/bea/index.htmlhttp://biz.yahoo.com/ap/080116/oracle_bea.html新一輪收購,其實最值得關注的是WebLogic/Tuxedo兩個拳頭產品,而作為一直缺乏中間件領頭產品的Oracle公司,這一次又重新開始瓜分市場,微軟/IBM/SAP都會面臨直接的強有力的挑戰。整個事件中... 閱讀全文
2008-01-16 22:39 作者: david.turing【評論:11】【閱讀:6115】
C++配置管理
摘要: 自從離開學校就基本上不再使用C++了,最近卻又因為項目上的原因重新走入這一迷失的世界, 感覺很是缺乏一些順手的工具。首先就是做配置管理有點麻煩, 因為缺乏反射機制, 無法直接映射, 所以一般需要手工書寫配置設置功能. 我們希望配置類在配置階段能夠支持動態屬性名, Code highlighting produced by Actipro CodeHighl... 閱讀全文
2008-01-12 20:58 作者: canonical【評論:0】【閱讀:1797】
關系模型與ORM
摘要: 關系數據庫模型在理論上主要解決的是消除數據冗余的問題。關系模型的數學基礎是所謂的集合論,而集合的基本含義正是一組具有某種原子性的互不相同的元素。面向對象技術是對相關性進行局域化的一種手段(相關的數據和操作聚集到同一對象名義下),在這一局域化過程中,相同的元素被識別出來,成為獨立的對象。從某種意義上說,關系模型與對象模型是殊途同歸的過程,是從不同側面對同一事物的... 閱讀全文
2008-01-06 19:04 作者: canonical【評論:3】【閱讀:3169】
高性能分頁標簽extremeTable的Limit設計架構思想剖析
摘要: 這是一個目前最好的一個開源分頁標簽的實現---extremeTable標簽。今天談談它的Limit的設計架構思想。 這個設計很通用,經過作者的多次重構,現在extremeTable的架構非常漂亮。這個標簽現在缺點是有些參數對mvc控制器屏蔽了,應提供一致的對外接口。不過整體上設計還是很精致的,面向對象來處理 html元素,與spring非常的默契,非常便于開發和測試。 類圖關系... 閱讀全文
2007-12-26 16:17 作者: Asktalk【評論:5】【閱讀:4616】
Spring Web框架與Struts的區別
摘要: 下面是從struts的角度來談談spring自帶的web框架的使用。 當然,我們在配置web框架前,需要把spring配置好,這里就不多說了。 1.web框架核心servlet在web.xml中的配置。 1<servlet> 2<servlet-name>Dispatcher&... 閱讀全文
2007-12-25 02:23 作者: Asktalk【評論:0】【閱讀:4327】
Eclipse啟動機制(1)
摘要: 最近我一直在研究Eclipse的架構體系,下面我們就來看看Eclipse的啟動機制吧 1、Eclipse源代碼 eclipse-sourceBuild-srcIncluded-3.3.1.1.zip 版本:3.3.1.1 &... 閱讀全文
2007-12-22 16:33 作者: Asktalk【評論:3】【閱讀:4908】
代碼之外的結構
摘要: 我在各種場合一直都在強調結構問題是獨立的,在程序語言之外存在著獨立的,可研究的,富有成效的結構問題。http://canonical.javaeye.com/blog/147424 在這個方向上更進一步,我們注意到所有的代碼并不是天然出現的,而是由人所編制的,因此代碼世界內部并不構成封閉的,自足的某個世界。代碼中的結構問題并不是由代碼本身完全解決的,即在代碼之... 閱讀全文
2007-12-15 19:46 作者: canonical【評論:0】【閱讀:1413】
關于抽象性的一些說明
摘要: 沒有人否認抽象的意義,但是抽象是否就是抽象到無窮大,這是個可以明確定義的問題,也是數學領域正在解決的問題。在我們的思考中沒有明確定義何處是邊界, 沒有明確的限制,這便是導向無窮的一種思維方式,它和現實中是否真的允許消耗無限多的資源,創建無限多的對象無關。當我們認為自己明白了終極的意義,明白 了一種推向無窮的抽象,這并不是理解了世界的全部,我們仍然要明白如何... 閱讀全文
2007-12-09 22:25 作者: canonical【評論:5】【閱讀:1197】
關于語言有效性的一些澄清
摘要: 數學上的有效性與物理中的有效性是不同的,例如對于密碼學問題,如果通過窮舉法破解密碼成功時,經過這些密碼加密的數據已經過了有效期限,此時我們在數學上定義窮舉法不是一種有效的破解方法。但是物理層面上我們說只要一種方法比另一種方法能夠更快的解決問題,我們就說第一種方法比第二種方法有效,而無論密碼被破解的時候該密碼是否已經過了有效期限。 ... 閱讀全文
2007-12-09 17:19 作者: canonical【評論:1】【閱讀:1370】
關于通用語言能力的一些澄清
摘要: 我在前面的文章中列舉了大量物理學相關的例子來試圖說明采用物理視角的必要性,但是可能因為物理事實大家不熟悉,結果直接被無視了. 在本文中我想有必要舉一個軟件領域的例子。只是在實際思考的過程中,我主要還是基于物理概念進行推理. 首先我所謂“現在的通用語言”,它... 閱讀全文
2007-12-09 00:16 作者: canonical【評論:0】【閱讀:1209】
對語言與結構的說明
摘要: 每當我在文字中對函數式語言有些不敬之意時,便好像動了某些人的奶酪,以至我的言辭總在被曲解后遭到排斥。我想這就是因為視角差異過大所造成的. 但是謙虛謹慎是傳統的美德, 不能容納他人的觀點只會妨礙自己在某些方向的探索。 首先請不要輕易懷疑我的知識水平。當然如果總無法聚集起足夠的注意力來理解別人話語中的細節,我也無話可說。 ... 閱讀全文
2007-12-08 02:51 作者: canonical【評論:7】【閱讀:1444】